/**
 *
    算法描述：作为函数第一题，我们要分析哪里是有可以提炼的方法。发现任意两点之间的距离公式计算，就是我们想要的函数。故实现。如果这道题你用结构体来做，更加清晰简单，这里先不作使用
    解决所需数据结构+算法：函数
**/
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;

// 将两点之间的距离用欧几里得距离公式实现。传递进去两点坐标，就可以返回两点距离
double len(double x1, double y1, double x2, double y2) { // 两点之间的距离可以被函数提炼
    return sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2));
}

int main() {
    double x[3], y[3];
    double ans = 0;
    cin >> x[0] >> y[0] >> x[1] >> y[1] >> x[2] >> y[2];
    // 依次将三条边加到结果上
    ans += len(x[0], y[0], x[1], y[1]);
    ans += len(x[0], y[0], x[2], y[2]);
    ans += len(x[1], y[1], x[2], y[2]);
    cout << fixed << setprecision(2) << ans << endl;

    return 0;
}